package com.hnust.service.impl;

import com.hnust.dao.CollegeDao;
import com.hnust.domain.College;
import com.hnust.domain.Course;
import com.hnust.domain.record.CollegeRecord;
import com.hnust.service.CollegeService;
import com.hnust.util.GenerateId;
import com.hnust.util.IDUtil;
import lombok.extern.flogger.Flogger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 创建人：高富昌
 * 创建时间：2020/10/7
 * 描述：学院管理模块service实现类
 */

@Service("collegeService")
public class CollegeServiceImpl implements CollegeService {
    @Autowired
    private CollegeDao collegeDao;

    /**
     * 获取所有学院
     * @return
     */
    @Override
    //实体类转中间类
    public List<CollegeRecord> collegeGet(){
        return collegeDao.getAllCollegeList();        //返回查找到的学院记录
    }


    /**
     * 添加学院
     * @param name 学院名
     * @return
     */
    @Override
    public String collegeAdd(String name)throws Exception
    {
        String id = IDUtil.getPrimaryKey();
        if(collegeDao.addCollegeById(id,name)){
            return id;
        }else {
            return  null;
        }
                            //添加学院并将添加结果返回
    }


    /**
     * 删除学院
     * @param collegeId 学院Id
     * @return
     */
    @Override
    //删除学院并将删除结果返回
    public Boolean collegeDelete(String collegeId) {
        return collegeDao.deleteCollegeById(collegeId);
    }


    /**
     * 批量删除学院
     * @param collegeIds 学院Ids
     * @return
     */
    @Override
    public Boolean collegeBatchDelete(List<String> collegeIds) {
//        System.out.println(collegeIds);
        //遍历获取到的学院Id
        for(String collegeId:collegeIds) {
            if (!collegeDao.deleteCollegeById(collegeId)) {
                return false;
            }
        }
            return true;
    }

    @Override
    public Map<String, String> getCollegeAdminInfo(String colAdmId) throws Exception{
        return collegeDao.getCollageAdminInfo(colAdmId);
    }
}
